32 research outputs found

    Kevoree Modeling Framework (KMF): Efficient modeling techniques for runtime use

    Get PDF
    The creation of Domain Specific Languages(DSL) counts as one of the main goals in the field of Model-Driven Software Engineering (MDSE). The main purpose of these DSLs is to facilitate the manipulation of domain specific concepts, by providing developers with specific tools for their domain of expertise. A natural approach to create DSLs is to reuse existing modeling standards and tools. In this area, the Eclipse Modeling Framework (EMF) has rapidly become the defacto standard in the MDSE for building Domain Specific Languages (DSL) and tools based on generative techniques. However, the use of EMF generated tools in domains like Internet of Things (IoT), Cloud Computing or Models@Runtime reaches several limitations. In this paper, we identify several properties the generated tools must comply with to be usable in other domains than desktop-based software systems. We then challenge EMF on these properties and describe our approach to overcome the limitations. Our approach, implemented in the Kevoree Modeling Framework (KMF), is finally evaluated according to the identified properties and compared to EMF.Comment: ISBN 978-2-87971-131-7; N° TR-SnT-2014-11 (2014

    Taming Dynamically Adaptive Systems with Models and Aspects

    Get PDF
    International audienceSince software systems need to be continuously available under varying conditions, their ability to evolve at runtime is increasingly seen as one key issue. Modern programming frameworks already provide support for dynamic adaptations. However the high-variability of features in Dynamic Adaptive Systems (DAS) introduces an explosion of possible runtime system configurations (often called modes) and mode transitions. Designing these configurations and their transitions is tedious and error-prone, making the system feature evolution difficult. While Aspect-Oriented Modeling (AOM) was introduced to improve the modularity of software, this paper presents how an AOM approach can be used to tame the combinatorial explosion of DAS modes. Using AOM techniques, we derive a wide range of modes by weaving aspects into an explicit model reflecting the runtime system. We use these generated modes to automatically adapt the system. We validate our approach on a schizophrenic middleware for home automation currently deployed in Rennes metropolis

    EntiMid : un middleware aux services de la maison

    Get PDF
    National audienceOne of the society challenges of tomorrow is the aging population. Often pointed as a possible solution for this issue, house automation can help elderly people stay at home as long as possible, and ease the coordination of the domain actors. In this context, this paper lists the requirements of such a system, showing that today's commercial solutions are not flexible enough to reach the necessary functional richness. According to these requirements, a set of properties a middleware should offer in order to be deployed at a city scale is identified. Then this paper describes the software architecture of a suitable middleware built over OSGi, respecting the listed properties. After that, an experience report of the deployment of this middleware, in the laboratory of the Université de Rennes 1 highlights the relevance of the proposed solution

    Integrating IoT and IoS with a Component-Based approach

    Get PDF
    International audienceThere is a growing interest in leveraging Service Oriented Architectures (SOA) in domains such as home automation, automotive, mobile phones or e-Health. With the basic idea (supported in e.g. OSGi) that components provide services, it makes it possible to smoothly integrate the Internet of Things (IoT) with the Internet of Services (IoS). The paradigm of the IoS indeed offers interesting capabilities in terms of dynamicity and interoperability. However in domains that involve ``things'' (e.g. appliances), there is still a strong need for loose coupling and a proper separation between types and instances that are well-known in Component-Based approaches but that typical SOA fail to provide. This paper presents how we can still get the best of both worlds by augmenting SOA with a Component-Based approach. We illustrate our approach with a case study from the domain of home automation

    KevoreeJS: Enabling dynamic software reconfigurations in the Browser

    Get PDF
    International audienceThe architecture of classic productivity software are moving from a traditional desktop-based software to a client server architecture hosted in the Cloud. In this context, web browsers behave as application containers that allow users to access a variety of Cloud-based applications and services, such as IDEs, Word processors, Music Collection Managers, etc. As a result, a significant part of these software run in the browser and accesses remote services. A lesson learned from development framework used in distributed applications is the success of pluggable architecture pattern as a core architecture concept, i.e., a Software Architecture that promotes the use of Pluggable Module to dynamically plug. Following this trend, this paper discusses the main challenges to create a component-based platform supporting the development of dynamically adaptable single web page applications. This paper also presents an approach called KevoreeJS based on models@runtime to control browser as component platform which address some of these challenges. We validate this work by presenting the design of a dashboard for sensor based system and highlighting the capacity of KevoreeJS to dynamically choose the placement of code on the server or client side and how KevoreeJS can be used to dynamically install or remove running components

    EnTiMid : Un modèle de composants pour intégrer des objets communicants dans des applications à base de services

    No full text
    Software systems tend to acquire capabilities of adaptation, evolution and openness. These abilities require the execution environment to be highly flexible and dynamic, and require new tools to handle these abilities. In electronics, tools have been set up to cope with the huge heterogeneity and number of components, and the adaptation of existing products to new technologies. Openness of documentations and specifications in this area led to a wealth of solutions made by industrials or individuals fond of electronics. Inspired by electronics' achievements this thesis contributes in improving the flexibility of software systems while maintaining a high level of reliability. The contribution is threefold. (1) A new component model, which improves flexibility to enable connection of heterogeneous components. (2) Tools from model driven engineering, to create, edit, simulate and validate the structure and behavior of component assemblies prior to their (re-)deployment. (3) A runtime environment built on top of a service-based architecture to support evolutions, adaptations and openness required by the proposed component model. This thesis has been validated on a use case from an Ambient Assisted Living project. In this domain, software systems have to be adaptive and flexible, to fit the needs and pathology evolutions of elderly people. Although there still is a long way to go, the benefits gained from the use of this approach in this context proved the relevance of this thesis.Les systèmes logiciels tendent à se doter de facultés d'adaptation, d'évolution et d'ouverture. Ces capacités requièrent une grande flexibilité et dynamicité de l'environnement d'exécution, ainsi que de nouveaux outils d'assistance à la fabrication de ces systèmes. En électronique, des outils ont été déployés pour faire face à l'hétérogénéité et au nombre de composants, ainsi qu'aux besoins d'adaptation de produits existants à de nouvelles technologies. L'ouverture de la documentation et des spécifications a permis une grande richesse de solutions venant tant de bricoleurs que d'industriels. Inspiré par l'électronique, cette thèse contribue à l'amélioration de la flexibilité des systèmes logiciels tout en conservant un haut niveau de fiabilité. Les apports se font à trois niveaux. (1) Un nouveau modèle de composants qui offre une grande flexibilité et permet la connection de composants hétérogènes. (2) Des outils issus de l'ingénierie des modèles, pour créer, modifier, simuler et valider la structure et le comportement des assemblages de composants avant leur déploiement. (3) Un environnement d'exécution bati sur une architecture à base de services, pour supporter les évolutions, les adaptations et l'ouverture requises par le modèle de composant proposé. Cette thèse a été validée sur un cas concret dans un projet d'aide à domicile. Dans ce domaine, les systèmes logiciels doivent être adaptables et flexibles, pour répondre aux évolutions des besoins et pathologies des personnes âgées. Les bénéfices acquis de l'utilisation de cette approche dans ce contexte ont prouvé la pertinence de cette thèse

    EnTiMid (a component model to integrate smart devices in service based applications)

    No full text
    Les systèmes logiciels tendent à se doter de facultés d adaptation, d évolution et d ouverture. Ces capacités requièrent une grande flexibilité et dynamicité de l environnement d exécution, ainsi que de nouveaux outils d assistance à la fabrication de ces systèmes. En électronique, des outils ont été déployés pour faire face à l hétérogénéité et au nombre de composants, ainsi qu aux besoins d adaptation de produits existants à de nouvelles technologies. L ouverture de la documentation et des spécifications a permis une grande richesse de solutions venant tant de bricoleurs que d industriels. Inspiré par l électronique, cette thèse contribue à l amélioration de la flexibilité des systèmes logiciels tout en conservant un haut niveau de fiabilité. Les apports se font à trois niveaux. (1) Un nouveau modèle de composants qui offre une grande flexibilité et permet la connection de composants hétérogènes. (2) Des outils issus de l ingénierie des modèles, pour créer, modifier, simuler et valider la structure et le comportement des assemblages de composants avant leur déploiement. (3) Un environnement d exécution bati sur une architecture à base de services, pour supporter les évolutions, les adaptations et l ouverture requises par le modèle de composant proposé. Cette thèse a été validée sur un cas concret dans un projet d aide à domicile. Dans ce domaine, les systèmes logiciels doivent être adaptables et flexibles, pour répondre aux évolutions des besoins et pathologies des personnes âgées. Les bénéfices acquis de l utilisation de cette approche dans ce contexte ont prouvé la pertinence de cette thèse.Software systems tend to acquire capabilities of adaptation, evolution and openness. These abilities require the execution environment to be highly flexible and dynamic, and require new tools to handle these abilities. In electronics, tools have been set up to cope with the huge heterogeneity and number of components, and the adaptation of existing products to new technologies. Openness of documentations and specifications in this area led to a wealth of solutions made by industrials or individuals fond of electronics. Inspired by electronics achievements this thesis contributes in improving the flexibility of software systems while maintaining a high level of reliability. The contribution is threefold. (1) A new component model, which improves flexibility to enable connection of heterogeneous components. (2) Tools from model driven engineering, to create, edit, simulate and validate the structure and behavior of component assemblies prior to their (re-)deployment. (3) A runtime environment built on top of a service-based architecture to support evolutions, adaptations and openness required by the proposed component model. This thesis has been validated on a use case from an Ambient Assisted Living project. In this domain, software systems have to be adaptive and flexible, to fit the needs and pathology evolutions of elderly people. Although there still is a long way to go, the benefits gained from the use of this approach in this context proved the relevance of this thesis.RENNES1-BU Sciences Philo (352382102) / SudocSudocFranceF

    Taming Dynamically Adaptive Systems Using Models and Aspects

    No full text
    Since software systems need to be continuously available under varying conditions, their ability to evolve at runtime is increasingly seen as one key issue. Modern programming frameworks already provide support for dynamic adaptations. However the high-variability of features in Dynamic Adaptive Systems (DAS) introduces an explosion of possible runtime system configurations (often called modes) and mode transitions. Designing these configurations and their transitions is tedious and error-prone, making the system feature evolution difficult. While Aspect-Oriented Modeling (AOM) was introduced to improve the modularity of software, this paper presents how an AOM approach can be used to tame the combinatorial explosion of DAS modes. Using AOM techniques, we derive a wide range of modes by weaving aspects into an explicit model reflecting the runtime system. We use these generated modes to automatically adapt the system. We validate our approach on an adaptive middleware for homeautomation currently deployed in Rennes metropolis

    EntiMid : un middleware aux services de la maison

    Get PDF
    National audienceOne of the society challenges of tomorrow is the aging population. Often pointed as a possible solution for this issue, house automation can help elderly people stay at home as long as possible, and ease the coordination of the domain actors. In this context, this paper lists the requirements of such a system, showing that today's commercial solutions are not flexible enough to reach the necessary functional richness. According to these requirements, a set of properties a middleware should offer in order to be deployed at a city scale is identified. Then this paper describes the software architecture of a suitable middleware built over OSGi, respecting the listed properties. After that, an experience report of the deployment of this middleware, in the laboratory of the Université de Rennes 1 highlights the relevance of the proposed solution

    Leveraging Models From Design-time to Runtime. A Live Demo

    Get PDF
    This paper describes a demo which leverages models at design-time and runtime in the context of adaptive system, some details about the underlying approach as well as some implementation details. Our tool allows deploying and dynamically reconfiguring component-based applications, in a guided and safe way, based on the OSGi platform. It combines reflexive and generative programming techniques, based on models, to achieve this goal
    corecore